//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Habitacion.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)
Habitacion::Habitacion(){
   float grosorPared=2;
   float largoVentana=40;
   float altoVentana=30;
   float anchoMarcoVentana=2;

   Tablero *suelo=new Tablero(ladoPared,ladoPared,grosorPared, 10, 10, 10);
   anadeParte(suelo);
   suelo->setColor(0.8,0.5,0.0);
   suelo->traslada(0,-grosorPared,0);

   Tablero *paredIzquierdaSuperior=new Tablero(grosorPared,ladoPared,(ladoPared-altoVentana)/2, 10, 10, 10);
   anadeParte(paredIzquierdaSuperior);
   paredIzquierdaSuperior->setColor(1.0,1.0,1.0);
   paredIzquierdaSuperior->traslada(-grosorPared,(ladoPared-altoVentana)/2+altoVentana,0);

   Tablero *paredIzquierdaDerecha=new Tablero(grosorPared,(ladoPared-largoVentana)/2,altoVentana, 10, 10, 10);
   anadeParte(paredIzquierdaDerecha);
   paredIzquierdaDerecha->setColor(1.0,1.0,1.0);
   paredIzquierdaDerecha->traslada(-grosorPared,(ladoPared-altoVentana)/2,0);

   Tablero *paredIzquierdaInferior=new Tablero(grosorPared,ladoPared,(ladoPared-altoVentana)/2, 10, 10, 10);
   anadeParte(paredIzquierdaInferior);
   paredIzquierdaInferior->setColor(1.0,1.0,1.0);
   paredIzquierdaInferior->traslada(-grosorPared,0,0);

   Tablero *paredIzquierdaIzquierda=new Tablero(grosorPared,(ladoPared-largoVentana)/2,altoVentana, 10, 10, 10);
   anadeParte(paredIzquierdaIzquierda);
   paredIzquierdaIzquierda->setColor(1.0,1.0,1.0);
   paredIzquierdaIzquierda->traslada(-grosorPared,(ladoPared-altoVentana)/2,(ladoPared-largoVentana)/2 + largoVentana);


   Tablero *marcoSuperior=new Tablero(grosorPared+0.3,largoVentana,anchoMarcoVentana, 10, 10, 10);
   anadeParte(marcoSuperior);
   marcoSuperior->setColor(0.7,0.7,0.7);
   marcoSuperior->traslada(-grosorPared,ladoPared-(ladoPared-altoVentana)/2-anchoMarcoVentana,(ladoPared-largoVentana)/2);

   Tablero *marcoDerecho=new Tablero(grosorPared+0.3,anchoMarcoVentana,altoVentana-2*anchoMarcoVentana, 10, 10, 10);
   anadeParte(marcoDerecho);
   marcoDerecho->setColor(0.7,0.7,0.7);
   marcoDerecho->traslada(-grosorPared,(ladoPared-altoVentana)/2+anchoMarcoVentana,(ladoPared-largoVentana)/2);

   Tablero *marcoInferior=new Tablero(grosorPared+0.3,largoVentana,anchoMarcoVentana, 10, 10, 10);
   anadeParte(marcoInferior);
   marcoInferior->setColor(0.7,0.7,0.7);
   marcoInferior->traslada(-grosorPared,(ladoPared-altoVentana)/2,(ladoPared-largoVentana)/2);

   Tablero *marcoIzquierdo=new Tablero(grosorPared+0.3,anchoMarcoVentana,altoVentana-2*anchoMarcoVentana, 10, 10, 10);
   anadeParte(marcoIzquierdo);
   marcoIzquierdo->setColor(0.7,0.7,0.7);
   marcoIzquierdo->traslada(-grosorPared,(ladoPared-altoVentana)/2+anchoMarcoVentana,(ladoPared-largoVentana)/2+largoVentana-anchoMarcoVentana);


   Tablero *separacionMarco=new Tablero(grosorPared+0.3,anchoMarcoVentana/2,altoVentana-2*anchoMarcoVentana, 10, 10, 10);
   anadeParte(separacionMarco);
   separacionMarco->setColor(0.7,0.7,0.7);
   separacionMarco->traslada(-grosorPared,(ladoPared-altoVentana)/2+anchoMarcoVentana,(ladoPared-largoVentana)/2+largoVentana/2-anchoMarcoVentana/2);

   Tablero *paredDerecha=new Tablero(ladoPared,grosorPared,ladoPared, 10, 10, 10);
   anadeParte(paredDerecha);
   paredDerecha->setColor(1.0,1.0,1.0);
   paredDerecha->traslada(0,0,-grosorPared);


   Cuadro*cuadro=new Cuadro();
   anadeParte(cuadro);
   cuadro->traslada(10,20,0);

   persiana=new Persiana(largoVentana+10,6,40, 15);
   anadeParte(persiana);
   persiana->traslada(0,(ladoPared-altoVentana)/2+altoVentana+anchoMarcoVentana,0);
   persiana->rota(270,0,1,0);
   persiana->traslada((ladoPared-largoVentana)/2-5,0,-6);


   lampara=new Lampara();
   anadeParte(lampara);
   lampara->traslada(ladoPared/2, ladoPared, ladoPared/2);

   muebles=new Muebles();
   anadeParte(muebles);





}

void Habitacion::subirPersiana(){
        persiana->subirPersiana();
}

void Habitacion::bajarPersiana(){
        persiana->bajarPersiana();
}

void Habitacion::cerrarPersiana(){
        persiana->cerrarPersiana();
}


void Habitacion::abrirPersiana(){
        persiana->abrirPersiana();
}

Lampara* Habitacion::getLampara(){
        return lampara;
}

Muebles* Habitacion::getMuebles(){
        return muebles;
}

